x86: make GDT per-CPU
authorKeir Fraser <keir.fraser@citrix.com>
Mon, 22 Sep 2008 12:46:57 +0000 (13:46 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Mon, 22 Sep 2008 12:46:57 +0000 (13:46 +0100)
commita0c61c0f77d2e0926bf728623e474fe9126648ae
tree1ed061a7b59d162a5b33b11ea9dfc38e95fe28f3
parent27e019d758f4aa3cdbae469fb9c2fada5a021cfa
x86: make GDT per-CPU

The major issue with supporting a significantly larger number of
physical CPUs appears to be the use of per-CPU GDT entries - at
present, x86-64 could support only up to 126 CPUs (with code changes
to also use the top-most GDT page, that would be 254). Instead of
trying to go with incremental steps here, by converting the GDT itself
to be per-CPU, limitations in that respect go away entirely.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
18 files changed:
xen/arch/x86/boot/wakeup.S
xen/arch/x86/boot/x86_32.S
xen/arch/x86/boot/x86_64.S
xen/arch/x86/cpu/common.c
xen/arch/x86/domain.c
xen/arch/x86/domain_build.c
xen/arch/x86/hvm/vmx/vmcs.c
xen/arch/x86/setup.c
xen/arch/x86/smpboot.c
xen/arch/x86/traps.c
xen/arch/x86/x86_32/mm.c
xen/arch/x86/x86_32/supervisor_mode_kernel.S
xen/arch/x86/x86_32/traps.c
xen/arch/x86/x86_64/mm.c
xen/arch/x86/x86_64/traps.c
xen/include/asm-x86/desc.h
xen/include/asm-x86/ldt.h
xen/include/asm-x86/page.h